Software Development
Exploring Virtual Reality
Android Cardboard and Unity VR
Creating a Virtual Reality App with Unity
Introduction to Virtual Reality
Manipulating the VR Environment
Optimizing for Unity VR
User Interfaces in Virtual Reality
Using GoogleVR and Unreal

Android Cardboard and Unity VR

Course Number:
sd_exvr_a06_it_enus
Lesson Objectives

Android Cardboard and Unity VR

  • start the course
  • download the Google VR SDK that can be used to create an Android VR app using Unity
  • configure a Unity scene to be able to develop VR apps using Google VR
  • configure a Unity scene to enable Google VR gaze detection
  • set up a game object that can respond to Google VR gaze-based interaction
  • implement a UI menu in VR that responds to Google VR gaze events
  • configure a UI menu to toggle its display on an off in response to user events
  • set up a UI menu that moves and rotates relative to current user gaze
  • deploy a Google VR app on an Android device
  • deploy a Google VR app on an iOS device
  • create a simple Cardboard VR app using Unity

Overview/Description
Virtual reality has been known to be fairly expensive; however, Google has created Cardboard. It is a VR headgear device made from cardboard and uses an Android phone. In this course, you'll learn how to create VR apps for this platform.

Target Audience
Developers or app designers who are developing a Cardboard Virtual Reality app using Unity

Creating a Virtual Reality App with Unity

Course Number:
sd_exvr_a03_it_enus
Lesson Objectives

Creating a Virtual Reality App with Unity

  • start the course
  • download and install Unity3d and associated components
  • set up and configure a virtual reality project within Unity
  • import and install sample files into a Unity VR project
  • describe and use the VREyeRaycaster script to determine what the eye may be looking at
  • use the VRInput class to determine if the user has provided any input
  • attach the VRInteractiveItem component to GameObjects
  • use a custom script to subscribe to and respond to VRInteractiveItem events
  • render a reticle on objects as a user's gaze changes within the environment
  • use Selection Radials to get confirmation an action should take place
  • use Selection Sliders to fill in bars to get confirmation a user wants an action to take place
  • use colliders and Rigidbody to implement realistic movement in an app
  • use LoadSceneAsync to prevent lag or jitters when loading data in a virtual reality environment
  • use the built-in Unity VR capabilities to build a virtual reality app

Overview/Description
Unity provides an IDE for creating virtual reality apps. In this course, you will learn how to set up the environment and view the key scripts and components necessary for building a VR app.

Target Audience
Anyone interested in virtual reality

Introduction to Virtual Reality

Course Number:
sd_exvr_a01_it_enus
Lesson Objectives

Introduction to Virtual Reality

  • start the course
  • describe virtual reality, the importance of virtual reality, and the future of virtual reality
  • define the types of virtual reality and when they could be used
  • describe the beginning of virtual reality and how it has reached the point it is at today
  • identify where virtual reality is already being used or could be used in the near future
  • define the levels of immersion and how it affects a user in virtual reality
  • describe the types of virtual reality hardware and their capabilities or limits
  • compare some of the features and capabilities of current virtual reality headgear
  • describe the tools and environments that exist for developing virtual reality games and applications
  • distinguish and describe the differences between programming virtual reality games and applications with C++ vs. C#
  • identify the hardware and software requirements for developing virtual reality applications with Unity
  • describe VR, the types of VR, and the available development tools

Overview/Description
Virtual reality is a fairly broad set of technologies ultimately designed to trick the senses. In this course, you will learn about the types of VR, the equipment used, and how that relates to the immersiveness of the VR environment.

Target Audience
Anyone interested in virtual reality or creating a virtual reality application

Manipulating the VR Environment

Course Number:
sd_exvr_a02_it_enus
Lesson Objectives

Manipulating the VR Environment

  • start the course
  • describe the symptoms of virtual reality sickness and the contributing factors
  • specify how virtual reality environments can cause nausea and other discomforts for users
  • prevent nausea and give the user a comfortable virtual environment experience
  • interact with a user's sense of motion and recognize how it affects virtual reality experiences
  • describe how gaze is used and how it affects a VR environment
  • define what a reticle is and how it can be used to help a user within a virtual reality environment
  • work with the render scale to find a balance between sharpness and performance
  • use head rotation and position tracking in a virtual reality environment
  • use a touchpad, keyboard, control stick, or headgear buttons to allow users to manipulate a virtual reality environment
  • describe how manipulating a virtual reality environment can affect a user

Overview/Description
Virtual reality environments are designed to immerse the user; however, our senses can react negatively if the environment is not handled carefully. In this course, you will learn how to handle and prevent VR sickness and motion issues.

Target Audience
Anyone interested in virtual reality

Optimizing for Unity VR

Course Number:
sd_exvr_a05_it_enus
Lesson Objectives

Optimizing for Unity VR

  • start the course
  • describe why optimization is fundamental for a user to have a good VR experience
  • use the Unity profiler to find areas that need optimization
  • use the Unity Frame Debugger to investigate rendering issues and find objects that don't need to be rendered
  • optimize the drawing of objects by removing faces of any object that will not be seen
  • find objects that are being overdrawn and remove them to reduce wasting GPU time
  • use occlusion culling to prevent rendering of objects that are not visible
  • use Draw Call batching to batch draw calls to improve performance
  • eliminate or reduce the lighting requirements to increase performance
  • use shaders only where appropriate to increase performance
  • use the built-in Quality Settings to balance the visual quality versus performance of the app
  • adjust the Level of Detail (LOD) setting to reduce the number of rendered triangles as objects get farther away
  • describe why optimization is required for VR apps and describe some of the techniques that can be used

Overview/Description
Virtual Reality has to balance the visual quality against performance since there are usually physical performance limitations in any VR gear. In this course you will learn about methods to improve performance and optimize a VR app.

Target Audience
Developers or app designers who are developing a Virtual Reality app using Unity

User Interfaces in Virtual Reality

Course Number:
sd_exvr_a04_it_enus
Lesson Objectives

User Interfaces in Virtual Reality

  • start the course
  • describe the limitations of UI interfaces in VR and the possible solutions
  • use antialiasing and adjust the sharpness of text
  • render 3D text within a VR environment
  • create and use a non-diegetic Ui to display data to a user
  • create and use a spatial UI to display data to a user
  • create and use a Diegetic UI to display data to a user
  • set up a blink transition that can be used in favor or player movement
  • create a menu that can come into focus as the user targets a object or placeholder
  • use the different types of User Interfaces to create a curved 3D menu for a VR app
  • Describe the ways in which menus can be used effectively in a VR environment

Overview/Description
Virtual Reality focuses mostly on the environment; however, the user usually needs to see status or localized information within an app. In this course you will learn about the different ways this information can be presented to a user.

Target Audience
Anyone interested in Virtual Reality

Using GoogleVR and Unreal

Course Number:
sd_exvr_a07_it_enus
Lesson Objectives

Using GoogleVR and Unreal

  • start the course
  • describe how to install Unreal Engine on a development machine
  • configure Unreal Engine for developing Android apps
  • create a new Blueprint-based project in Unreal Engine
  • modify Unreal Engine project settings to facilitate GoogleVR development
  • create a pawn that represents a user's VR viewpoint
  • modify a Blueprint to add a line trace for gaze-based interaction
  • implement gaze-based interaction by hit testing based on a line trace
  • use Unreal tools to debug a line trace
  • configure Unreal Engine settings to be able to build a VR project for Android
  • deploy a GoogleVR app from Unreal to a connected Android device
  • create a Steam and Unreal VR app

Overview/Description
There are many environments available to create Virtual Reality apps. In this course you will learn about the GoogleVR platform and the Unreal Engine and how they can be used to create virtual reality apps.

Target Audience
Developers or app designers who are developing a virtual reality app using GoogleVR and/or the Unreal Engine

Close Chat Live